package cn.iocoder.yudao.module.trade.dal.mysql.depositorderreturnlog;

import java.util.*;

import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.yudao.module.trade.dal.dataobject.depositorderreturnlog.DepositOrderReturnLogDO;
import org.apache.ibatis.annotations.Mapper;
import cn.iocoder.yudao.module.trade.controller.admin.depositorderreturnlog.vo.*;

/**
 * 退瓶记录 Mapper
 *
 * @author 管理员
 */
@Mapper
public interface DepositOrderReturnLogMapper extends BaseMapperX<DepositOrderReturnLogDO> {

    default PageResult<DepositOrderReturnLogDO> selectPage(DepositOrderReturnLogPageReqVO reqVO) {
        return selectPage(reqVO, new LambdaQueryWrapperX<DepositOrderReturnLogDO>()
                .eqIfPresent(DepositOrderReturnLogDO::getReturnId, reqVO.getReturnId())
                .eqIfPresent(DepositOrderReturnLogDO::getSkuId, reqVO.getSkuId())
                .eqIfPresent(DepositOrderReturnLogDO::getSkuCount, reqVO.getSkuCount())
                .likeIfPresent(DepositOrderReturnLogDO::getSkuName, reqVO.getSkuName())
                .eqIfPresent(DepositOrderReturnLogDO::getDeposit, reqVO.getDeposit())
                .eqIfPresent(DepositOrderReturnLogDO::getRentUnitPrice, reqVO.getRentUnitPrice())
                .betweenIfPresent(DepositOrderReturnLogDO::getCreateTime, reqVO.getCreateTime())
                .eqIfPresent(DepositOrderReturnLogDO::getBottleReturnCount, reqVO.getBottleReturnCount())
                .eqIfPresent(DepositOrderReturnLogDO::getRefundableAmount, reqVO.getRefundableAmount())
                .eqIfPresent(DepositOrderReturnLogDO::getActuaRefundAmount, reqVO.getActuaRefundAmount())
                .eqIfPresent(DepositOrderReturnLogDO::getRentPaid, reqVO.getRentPaid())
                .orderByDesc(DepositOrderReturnLogDO::getId));
    }

}